The responsibility for performing computer-based tasks is often divided amongst a plurality of computer processes. In some cases, the computer processes may execute more or less autonomously with respect to each other. In other cases, the computer processes may need to communicate with each other. These communications are commonly referred to as inter-process communications.